home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / kiss-0.11 / kiss-0 / kiss / src / splitcmd.c < prev    next >
C/C++ Source or Header  |  1995-03-23  |  687b  |  36 lines

  1. #include "kiss.h"
  2.  
  3. int splitcmd (Stringstack series, Stringstack *dest, int from)
  4. {
  5.     register int
  6.     done = 0,
  7.     i;
  8.     char
  9.     buf [FILENAMELEN];
  10.     register char
  11.     *cp;
  12.     
  13.     if (from >= series.nstr)
  14.     return (-1);
  15.  
  16.     for (i = from; i < series.nstr; i++)
  17.     {
  18.     strcpy (buf, series.str [i]);
  19.     if ( (cp = strchr (buf, ';')) && cp > buf && *(cp - 1) != '\\' )
  20.     {
  21.         *cp = '\0';
  22.         while (isspace (*cp) && *cp)
  23.         cp++;
  24.         free (series.str [i]);
  25.         series.str [i] = xstrdup (cp + 1);
  26.         done = 1;
  27.     }
  28.     dest->str = xrealloc (dest->str, (dest->nstr + 1) * sizeof (char *));
  29.     dest->str [(dest->nstr)++] = xstrdup (buf);
  30.     if (done)
  31.         return (i);
  32.     }
  33.     
  34.     return (i + 1);
  35. }
  36.